package com.behelpful.common.core.utils;

import cn.hutool.core.collection.CollUtil;

import java.util.*;

/**
 * Collection 类型数据的工具类
 *
 * @author Alay
 * @date 2021-08-17 10:48
 * @since
 */
public class ICollUtil {

    /**
     * 转 List 方法
     *
     * @param array
     * @param <T>
     * @return
     */
    public static <T> List<T> asList(T... array) {
        List<T> result = new ArrayList<>();
        Arrays.stream(array).forEach(item -> result.add(item));
        return result;
    }

    /**
     * 转 Set 方法
     *
     * @param array
     * @param <T>
     * @return
     */
    public static <T> Set<T> asSet(T... array) {
        Set<T> result = new HashSet<>();
        Arrays.stream(array).forEach(item -> result.add(item));
        return result;
    }


    /**
     * 集合类型转String类型
     *
     * @param collection
     * @param regex
     * @return
     */
    public static String coll2Str(Collection<?> collection, String regex) {
        if (CollUtil.isEmpty(collection)) {
            return null;
        }
        StringBuilder sb = new StringBuilder();
        for (Object value : collection) {
            String str;
            if (value instanceof String) {
                str = (String) value;
            } else {
                str = value.toString();
            }
            sb.append(str);
            sb.append(regex);
        }
        // 删除左后一个分割符号
        sb.delete(sb.length() - regex.length(), sb.length());
        return sb.toString();
    }
}
